package VentanaPrincipal;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JRadioButton;

class Ventana extends JFrame implements ActionListener {
// declaro un nuevo explorador de archivos.
    final JFileChooser cuadro = new JFileChooser();
 // Declaro el panel principal
	private JPanel panelPrincipal = new JPanel();
	private JPanel panelCentro = new JPanel();
	private JPanel panelNorte = new JPanel();
	private JPanel panelSur = new JPanel();
	
	private JPanel panel3botones=new JPanel();

	private JPanel panel1 = new JPanel();
	private JPanel panel2 = new JPanel();
	private JPanel panel3 = new JPanel();
	private JPanel panel4 = new JPanel();
	
	private JButton boton1 = new JButton();
    
	private JButton boton2 = new JButton();
	private JButton boton3 = new JButton();
	private JButton boton4 = new JButton();

	// menu
	private JMenuBar barra1;
	private JMenu menu1;
	private JMenuItem item1, item2, item3, item4;

	// botones abajo, decidir tipo de pantalla principal vamos tener

	private JRadioButton boton2Imagenes, boton3Imagenes, boton4Imagenes;

	public Ventana() {

		setTitle("Dise�o en 3 D");

		setSize(800, 700);

		// En el container meto el Panel Principal

		Container Ventana = getContentPane();
		Ventana.add(panelPrincipal);

		// aki especifico que el panel principal sea un borderLayout

		panelPrincipal.setLayout(new BorderLayout());

		// hacemos el menu
		barra1 = new JMenuBar();
		setJMenuBar(barra1);

		menu1 = new JMenu("Editar");
		barra1.add(menu1);

		item1 = new JMenuItem("copiar");
		menu1.add(item1);
		item1.addActionListener(this);

		item2 = new JMenuItem("Cortar");
		menu1.add(item2);

		item3 = new JMenuItem("Pegar");
		menu1.add(item3);

		item4 = new JMenuItem("Eliminar");
		menu1.add(item4);

		panelPrincipal.add(panelNorte, BorderLayout.NORTH);
		panelNorte.add(barra1);

		// A�adios en el panel principal ... Recuerdo que el panel Principal es
		// un bordeLayout
		// NOTA: el panel centro lo a�adimos en el actionPerformed

		panelCentro.setBackground(Color.white);

		panelPrincipal.add(panelSur, BorderLayout.SOUTH);

		boton2Imagenes = new JRadioButton("2 Imagenes");
		boton2Imagenes.addActionListener(this);
		boton3Imagenes = new JRadioButton("3 Imagenes");
		boton3Imagenes.addActionListener(this);
		boton4Imagenes = new JRadioButton("4 Imagenes");
		boton4Imagenes.addActionListener(this);
		
		boton1 = new JButton("Inserte imagen");
		boton1.addActionListener(this);
		boton2 = new JButton("inserte imagen");
		boton2.addActionListener(this);
		boton3 = new JButton("inserte imagen");
		boton3.addActionListener(this);
		boton4 = new JButton("inserte imagen");
		boton4.addActionListener(this);
		
                // añadimos a los paneles 1,2,3,4 los botones
		panel1.add(boton1, BorderLayout.CENTER);
		panel2.add(boton2, BorderLayout.CENTER);
		panel3.add(boton3, BorderLayout.CENTER);
		panel4.add(boton4, BorderLayout.CENTER);

		// Hacemos un grupo de botones , para que no se queden pulsados una vez
		// que cambias de boton

		ButtonGroup grupoVentanas = new ButtonGroup();
		grupoVentanas.add(boton2Imagenes);
		grupoVentanas.add(boton3Imagenes);
		grupoVentanas.add(boton4Imagenes);

		panelSur.add(boton2Imagenes);
		panelSur.add(boton3Imagenes);
		panelSur.add(boton4Imagenes);

	}

	public void actionPerformed(ActionEvent e) {
// si pulsamos cualquier de estos botones mostramos con este metodo el explorador de archivos.
		if (boton1 == e.getSource()) {
			cuadro.showOpenDialog(getParent());
		}
		if (boton2 == e.getSource()) {
			cuadro.showOpenDialog(getParent());
		}
		if (boton3 == e.getSource()) {
			cuadro.showOpenDialog(getParent());
		}
		if (boton4 == e.getSource()) {
			cuadro.showOpenDialog(getParent());
		}
	
	
		if (e.getSource() == boton2Imagenes) {

			panelCentro.removeAll();
			
			
			panelCentro.repaint();
			panelPrincipal.add(panelCentro, BorderLayout.CENTER);
			panelCentro.setLayout(new GridLayout(1, 2, 6, 0));
			panelCentro.add(panel1);
			panel1.setBackground(Color.BLUE);
			panelCentro.add(panel2);
			panel2.setBackground(Color.red);

			boton3Imagenes.setEnabled(true);
			boton4Imagenes.setEnabled(true);
			boton2Imagenes.setEnabled(false);
			


			panelCentro.updateUI();

		} else if (e.getSource() == boton3Imagenes) {

			
			panelCentro.removeAll();
			
			panel1.setBackground(Color.white);
			panelCentro.repaint();
			panelPrincipal.add(panelCentro, BorderLayout.CENTER);
			panelCentro.setLayout(new GridLayout(1, 2, 6, 0));
			panelCentro.add(panel3botones);
			panel3botones.setLayout(new GridLayout(2, 1, 6, 6));
			panel3botones.add(panel1, BorderLayout.NORTH);
			panel3.setBackground(Color.BLACK);
			panel3botones.add(panel2, BorderLayout.SOUTH);
			panel2.setBackground(Color.YELLOW);
			panelCentro.add(panel3);
			panel3.setBackground(Color.red);

			boton2Imagenes.setEnabled(true);
			boton3Imagenes.setEnabled(false);
			boton4Imagenes.setEnabled(true);
			panelCentro.updateUI();

		} else if (e.getSource() == boton4Imagenes) {
			panelCentro.removeAll();
			panel1.removeAll();
			panel1.repaint();
			panel1.setLayout(new FlowLayout());
	
			panelCentro.repaint();
			panel1.add(boton1, BorderLayout.CENTER);
			panelPrincipal.add(panelCentro, BorderLayout.CENTER);
			panelCentro.setLayout(new GridLayout(2, 2, 6, 6));
			panelCentro.add(panel1);
			panel1.setBackground(Color.BLUE);
			
			panelCentro.add(panel2);
			panel2.setBackground(Color.GREEN);
			panelCentro.add(panel3);
			panel3.setBackground(Color.black);
			panelCentro.add(panel4);
			panel4.setBackground(Color.ORANGE);

			boton2Imagenes.setEnabled(true);
			boton3Imagenes.setEnabled(true);
			boton4Imagenes.setEnabled(false);
			panelCentro.updateUI();

		}
	
	}

}

public class CambiaFondo {
	public static void main(String[] args) {
		Ventana v = new Ventana();
		v.setLocationRelativeTo(null);
		v.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		v.setVisible(true);
		

	}
}